// PreferencesDialog.cs
// 
// Copyright (C) 2008 Jean-André Santoni
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//

using System;
using System.IO;
using Gtk;
using System.Collections;

namespace Astrognome
{
	public partial class PreferencesDialog : Gtk.Dialog
	{
		public MainWindow parent;
		string appdir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
		
		public PreferencesDialog(MainWindow mainwindow)
		{
			this.Build();
			
			parent = mainwindow;
			
			Hashtable tab = new Hashtable();
			int i = 0;
						
			DirectoryInfo mod = new DirectoryInfo(appdir + "/modules");
			DirectoryInfo[] rgFiles = mod.GetDirectories();
			foreach(DirectoryInfo dir in rgFiles)
			{
				styleCombobox.AppendText(dir.Name);
				tab.Add(dir.Name, i);
				i++;
			}
			
			styleCombobox.Active = (int) tab[parent.Config.ChartStyle];
		}
		
		protected override void OnResponse(ResponseType rt)
		{
			if(rt == ResponseType.Ok)
			{				
				parent.Config.ChartStyle = styleCombobox.ActiveText;
				parent.OnChartRefresh();
				Serializer.SerializeConfig(parent.Config);
			}
		}
	}
}
